package com.dengyafei.service;

import com.dengyafei.bean.ItemEntity;
import com.dengyafei.bean.PositionEntity;
import com.dengyafei.bean.RelateEntity;
import com.dengyafei.bean.UserEntity;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author 邓亚非
 * 推荐接口
 */
public interface RecommendService {

    /**
     * 获取user数据
     *
     * @return
     */
    List<UserEntity> findUserEntity();

    /**
     * 获取物品数据
     *
     * @return
     */
    List<ItemEntity> findItemEntity();

    /**
     * 获取关联数据
     *
     * @return
     */
    List<RelateEntity> findRelateEntity();

    /**
     * 推荐列表
     *
     * @param id
     * @return
     */
    List<ItemEntity> recommendList(Integer id);


    /**
     * 基于用户的协同过滤算法推荐商品
     * @param userId
     * @param howMany
     * @return
     */
    List<PositionEntity> getRecommendItemByUser(Long userId, int howMany);

    /**
     * 基于内容的协同过滤算法推荐商品
     * @param userId
     * @param itemId
     * @param howMany
     * @return
     */
    List<PositionEntity> getRecommendItemByItem(Long userId,Long itemId,int howMany);
}